package com.alpaak.ewell.Singleton;

/**
 * 方式3：静态内部类
 * 这种写法仍然使用JVM本身机制保证了线程安全问题；由于 SingletonHolder是私有的，
 * 除了 getInstance()之外没有办法访问它，因此它是懒汉式的；同时读取实例的时候不会进行同步，没有性能缺陷；也不依赖 JDK版本。
 */
public class Singleton3 {
    private static class SingletonHolder {  
        private static final Singleton3 INSTANCE = new Singleton3();
    }  
    private Singleton3(){}
    public static final Singleton3 getInstance() {
        return SingletonHolder.INSTANCE; 
    }  
}
